package dryven.view.engine.parser.componentinvocation;

import dryven.view.ViewDataDictionary;
import dryven.view.engine.parser.CompilationException;
import dryven.view.engine.parser.ViewDataDeclarationCollection;

/**
 * Holds the value for an attribute of a component invocation.
 * @author bwindels
 *
 */
public interface AttributeBinding {
	public Class<?> getBoundType();
	public Class<?> getBoundGenericType(int index);
	public Object getValue(ViewDataDictionary viewData);
	public void compile(ViewDataDeclarationCollection declarations) throws CompilationException;
	public boolean isLiteral();
}
